package com.snc.plugin;

/**
 * APP- 请求返回结果包装体
 * Created by Administrator on 2016/5/19 0019.
 */
public class Result {

    /**
     * 操作成功
     */
    public static final int SUCCESS = 1;

    /**
     * 参数/业务错误，处理失败
     */
    public static final int FAIL = 2;

    /**
     * （暂时废除）系统错误
     */
    @Deprecated
    public static final int ERROR = 3;

    //状态
    private int status;

    //数据
    private Object data;

    //提示消息
    private String message;

    public Result() {
    }

    public Result(int status) {
        this.status = status;
    }

    public Result(int status, Object data) {
        this.status = status;
        this.data = data;
    }

    public Result(int status, String message) {
        this.status = status;
        this.message = message;
    }

    public int getStatus() {
        return status;
    }

    public void setStatus(int status) {
        this.status = status;
    }

    public Object getData() {
        return data;
    }

    public void setData(Object data) {
        this.data = data;
    }

    public String getMessage() {
        return message;
    }

    public void setMessage(String message) {
        this.message = message;
    }

    /**
     * 操作成功 - 返回空的数据和提示信息
     * @return 结果
     */
    public static Result Null(){
        return new Result(SUCCESS);
    }

    /**
     * 操作成功-返回数据
     * @param o 数据
     * @return 结果
     */
    public static Result Success(Object data){
        return new Result(SUCCESS,data);
    }

    /**
     * 操作成功-无数据,有message
     * @param message 信息
     * @return 结果
     */
    public static Result Success(String message){
        return new Result(SUCCESS,message);
    }

    /**
     * 操作失败-业务错误 - 返回提示信息
     * @param message 信息
     * @return 结果
     */
    public static Result Fail(String message){
        return new Result(FAIL,message);
    }

    /**
     * (暂时废除)系统错误 - 返回提示信息
     * @param message 信息
     * @return 结果
     */
    @Deprecated
    public static Result Error(String message){
        return new Result(ERROR,message);
    }
}
